home *** CD-ROM | disk | FTP | other *** search
/ Aminet 1 (Walnut Creek) / Aminet - June 1993 [Walnut Creek].iso / aminet / comm / misc / xpr_2_0.lha / DocXPRYmodem.doc < prev    next >
Text File  |  1991-10-10  |  7KB  |  217 lines

  1. This is an XPR 2.0 implementation of the YMODEM protocol.
  2.  
  3. based on bmodem: the BIX modem program by David Betz, BYTE Magazine/BIX
  4.  
  5. Source code modifications and additions needed for XPR are:
  6.  
  7.   NO Copyright 1991 Ueli -Lonely Rider- Kaufmann, NO Rights Reserved.
  8.   ^^                                              ^^
  9.  
  10. This software is provided "AS IS" without warranty of any kind, either
  11. expressed or implied, with respect to the programs described herein, their
  12. quality, performance, or fitness for any particular purpose.
  13.  
  14. In no event will the author(s) be liable for direct, indirect, incidental,
  15. or consequential damages.
  16.  
  17. redistribution of this software is permitted, provided that:
  18.  
  19.   NOTHING:  This is purely Public Domain..!!
  20.             You can do with it, whatever you want to do..(-:
  21.                        ^^^^
  22.  
  23. By using or distributing this software, you agree to understand and accept
  24. the above.  [ I HOPE, YOU UNDERSTOOD..(-: ]
  25.  
  26.  
  27. changes in:
  28.  
  29. - v1.90
  30.   - Output-option is only used in batch-mode..
  31.   - some people had trouble useing xpr-ymodem in conjunction with
  32.     n-comm v1.92 and atalk3..  > vaporized <  (not the people..;-)
  33.     [ Im KlarText: wenn ein Transfer-Abbruch stattfand, gingen diese zwei
  34.       Proggies in eine hübsche Endlos-Schlaufe, weil sie dummerweise
  35.       JEDESMAL einen Abbruch signalisierten anstatt nur einmal..)-:  ]
  36.  
  37. - v1.80
  38.   - there was a little error in doc. YMODEM command mode character
  39.     isn't 'M' ,  it's 'Y'    sorry, Urs..
  40.   - added new option: YMODEM -a
  41.     it supports neither CRC nor Checksum and should only be used if
  42.     there are ERROR-DETECTING AND -CORRECTING modems connected..!!
  43.               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  44.  
  45. - v1.65
  46.   - if there's no xpr_fnext(), YMODEM batch doesn't fall back
  47.     in X- / YMODEM state anymore..
  48.   - killed dirty enforcer-hit in XPr-Setup
  49.   - YMODEM-g now stops upload when receiving CAN/CAN   ( NOT standard..!! )
  50.   - YMODEM-g now tests chkabort(), too
  51.   - YMODEM-g now aborts pronto if there occur some dirty errors
  52.   - some code optimations included
  53.   - some incompatibilities excluded
  54.  
  55. - v1.01
  56.   - better outfit
  57.   - chkabort() implemented
  58.  
  59. - v1.00
  60.   - first release
  61.  
  62.  
  63.  
  64.  
  65. technical datas about YMODEM:
  66. - it is an amiga'ized version! It is definetly NOT gronking around
  67.   with single byte reads n' writes or these lame getc() and putc()..!!!!
  68. - it will allways send in binary mode..
  69. - it will use a 16384 bytes internal serial input buffer..
  70. - it will use a  8192 bytes internal IO buffer for file handling..
  71.  
  72.  
  73.  
  74. Enough chatting..
  75.  
  76.  
  77. Configurable options are:
  78.   YMODEM mode: Y<S|B|G|A>
  79.   ------------
  80. - 'X- / YMODEM':  you can use this YMODEM as XMODEM, too!              YS
  81.   NOTE:
  82.   YMODEM is fully compatible with XMODEM, so you can use this
  83.   XPr-Y as XPr-X, too..   Ist das nicht Pfanni..(-;
  84.  
  85. - 'YMODEM batch': the real one & only YMODEM implementation..          YB
  86.  
  87. - 'YMODEM -g':    for those people wanting good troughput              YG
  88.                   this mode uses 1 kB blocks and CRC-16
  89.  
  90. - 'YMODEM -a':    for those people wanting best troughput avalaible..  YA
  91.                   this mode uses 2 kB blocks and it does 
  92.                   no CRC-checking, because this is already
  93.                   done by the modems..  [ hail, hail HST..(-; ]
  94.  
  95.   NOTE:
  96.   -----
  97.    'YMODEM -g' and 'YMODEM -a' work like YMODEM batch, they just
  98.    don't send an ACK for received blocks and they can't handle
  99.    CRC-16 or Checksum errors..
  100.    they should only be used by people with highspeed error-detecting and 
  101.    error-correcting modems..!!  [ ie: US-Robotics HST, etc. ]
  102.   
  103.  
  104.   by default YB
  105.  
  106.  
  107. --------------------------------------------------------------------------
  108.  
  109.   CHOP option: Z<1|0>
  110.   ------------
  111. - when enabled, XPrYmodem will chop files ONLY, if the filesize is
  112.   unknown..  you can allways enable this option..
  113.  
  114.   NOTE: PAD-out char: '\Z' and *NOT* '\0' like xprxmodem.library does..
  115.   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  116.  
  117.   by default enabled
  118.  
  119. --------------------------------------------------------------------------
  120.  
  121.  
  122.   OUTPUT option: O<dir>
  123.   --------------
  124. - this specifies the output directory for received files..
  125.  
  126.   by default RAM:
  127.  
  128. --------------------------------------------------------------------------
  129.  
  130.   CRC option:  C<1|0>
  131.   -----------
  132. - when enabled, XPrYmodem will use CRC-16 for error-checking, else  
  133.   it will use Checksum...
  134.  
  135.   by default enabled
  136.  
  137. --------------------------------------------------------------------------
  138.  
  139.   1kB Blocks:  B<1|0>
  140.   -----------
  141. - when enabled, XPrYmodem will use 1024 bytes data blocks, else 128 bdb's
  142.  
  143.   by default enabled
  144.  
  145. --------------------------------------------------------------------------
  146.  
  147. This can be overridden by a environment variable, "XPRYMODEM", containing
  148. a setup string, of the following format:
  149. NOTE: this works only, if the comm progi supports it..
  150.  
  151.  
  152. these options are seperated by commas. The first character of every field
  153.  is the type, one of:
  154.     B (1k blocks), C (crc), M (YMODEM mode), O (output), Z (chop).
  155.  
  156. The second char is either 1 or 0, expressing the boolean state of the
  157. option.
  158.     examples:
  159.  
  160.     Z0,C1,B1  --> chop disabled, crc on, 1k blocks
  161.  
  162.     Z1,C0,B0  --> chop enabled, crc off (checksum), normal 128byte blocks,
  163.  
  164. there are two special options:
  165. first char Y  second char:
  166. S  ->  X- / YMODEM
  167. B  ->  batch
  168. G  ->  g mode  (NOT g-spot..:-)
  169. A  ->  ARQ-mode
  170.  
  171. first char O  argument is the local output directory..   ie: Oram:t
  172.  
  173. The user might also be prompted for such a string when XProtocolSetUp() is
  174. called, if the comm program does not provide the xpr_options callback
  175. function.
  176.  
  177. Ueli Kaufmann..
  178.  
  179. --
  180.  
  181. Installing XPR Y Modem with Dialogs XPRTransfer Util:
  182.  
  183. Batch Mode: "YMODEM batch"
  184. --------------------------
  185. send single file:   dlg:xprtransfer -s -l xprymodem.library -c YB -f ~f
  186. receive single file:dlg:xprtransfer -r -l xprymodem.library -c YB
  187. send batch file:    dlg:xprtransfer -l xprymodem.library -c YB -sbf ~b
  188.  
  189. G Mode: "YMODEM G 9600 Baud"
  190. ----------------------------
  191. send single file:   dlg:xprtransfer -s -l xprymodem.library -c YG -f ~f
  192. receive single file:dlg:xprtransfer -r -l xprymodem.library -c YG
  193. send batch file:    dlg:xprtransfer -l xprymodem.library -c YG -sbf ~b
  194.  
  195. A Mode: "YMODEM A LR FastMode"
  196. ------------------------------
  197. send single file:   dlg:xprtransfer -s -l xprymodem.library -c YA -f ~f
  198. receive single file:dlg:xprtransfer -r -l xprymodem.library -c YA
  199. send batch file:    dlg:xprtransfer -l xprymodem.library -c YA -sbf ~b
  200.  
  201. The Protocoll CAN SEND SINGLE FILES and RECEIVE SINGLE FILES,
  202.               CAN NOT RESUME TRANSFERs
  203.               the FILENAME IS transmitted during UPLOAD
  204.  
  205. Using the -c YS option its possible to select the implemented X-modem.
  206.  
  207. Programmers Address:
  208.  
  209. Ueli Kaufmann, FIDO 2:302/801.39
  210. Hinterdorf 52
  211. CH-3443 Sisseln
  212. Switzerland
  213.  
  214. You may reach Ueli in the DLG_PR Fido AREA. Messages will be passed to him.
  215.  
  216. This is written by: Urs Utzinger FIDO 2:302/810 (utzinger@nimbus,ethz.ch)
  217.